Use case: encryption/decryption in polling mode ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
/* Encryption */
HAL_CRYP_Encrypt(&hcryp, Plaintext, PLAINTEXT_SIZE,
EncryptedText, TIMEOUT_VALUE);
/* Only for GCM algorithm */
HAL_CRYPEx_AESGCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYPEx_AESCCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Decryption */
HAL_CRYP_Decrypt(&hcryp,Ciphertext , PLAINTEXT_SIZE,
DecryptedText, TIMEOUT_VALUE);
/* Only for GCM algorithm */
HAL_CRYPEx_AESGCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYPEx_AESCCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
|
/* Encryption */
HAL_CRYP_Encrypt(&hcryp, Plaintext, PLAINTEXT_SIZE ,
EncryptedText, TIMEOUT_VALUE);
/* Only for GCM algorithm */
HAL_CRYP_GCM_GenerateAuthTAG(&hahcryps,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYP_CCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Decryption */
HAL_CRYP_Decrypt(&hcryp, Ciphertext, PLAINTEXT_SIZE ,
DecryptedText, TIMEOUT_VALUE);
/* Only for GCM algorithm */
HAL_CRYP_GCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYP_CCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
|
Key changes ¶
Tag generation APIs are renamed from
HAL_CRYPEx_AES*toHAL_CRYP_*for GCM and CCM algorithms.Polling-mode encryption and decryption APIs keep the same names (
HAL_CRYP_Encrypt()/HAL_CRYP_Decrypt()).

